﻿using System;
using System.Runtime.Serialization;

namespace SharpGym.WCF.Dto
{
    public partial class AvaliacaoFisicaDto
    {
        [DataMember]
        public double IMC
        {
            get { return Peso / (Estatura * Estatura); }
            set{}
        }

        [DataMember]
        public double RCQ
        {
            get { return AbdominalP / PelveP; }
            set { }
        }

        [DataMember]
        public double PorcentagemGordura
        {
            get { return (TricepsDC + EscapularDC + SupraIliacaDC + AbdominalDC) * 0.153 + 5.783; }
            set{}
        }

        [DataMember]
        public double PorcentagemLivreGordura
        {
            get { return 100 - PorcentagemGordura; }
            set { }
        }

        [DataMember]
        public double PesoGordura
        {
            get { return Peso * PorcentagemGordura / 100; }
            set { }
        }

        [DataMember]
        public double PesoMagro
        {
            get { return Peso * PorcentagemLivreGordura / 100; }
            set { }
        }

        public double PorcentagemIdealGordura(DateTime Nascimento)
        {
            return 12 + (((DateTime.Today - Nascimento).TotalDays / 365) - 30) * 0.2;
        }

        public double PorcentagemGorduraSobra(DateTime Nascimento)
        {
            return PorcentagemGordura - PorcentagemIdealGordura(Nascimento);
        }

        public double PesoIdeal(DateTime Nascimento)
        {
            return (Peso * (PorcentagemLivreGordura / 100)) / (1 - (PorcentagemIdealGordura(Nascimento) / 100));
        }
    }
}